package com.shop.item.atom.atomsvc;

import com.shop.common.entity.item.Category;
import com.shop.common.model.InputBean;
import com.shop.common.model.ServiceBean;
import com.shop.common.model.param.item.ItemExtInput;
import com.shop.common.model.param.item.ItemFootInput;
import com.shop.common.model.result.item.ItemExtOutput;
import com.shop.common.model.result.item.ItemFootOutput;

import java.util.List;

/**
 * @Author zhoulk
 * @Description //TODO 商品扩展信息原子服务
 * @Date 20:22 2019/3/11
 *
 * @Param
 * @return
 * @errorCode //TODO
 **/
public interface IItemExtAtomService {

    /**
     * @Author zhoulk
     * @Description //TODO 插入商品扩展信息
     * @Date 20:21 2019/3/11
     *
     * @Param [itemExt]
     * @return com.shop.common.model.ResultModel<java.lang.Integer>
     * @errorCode //TODO
     **/
    ServiceBean<Integer> insertItemExt(ItemExtInput itemExt);

    /**
     * @Author zhoulk
     * @Description //TODO 删除商品扩展信息
     * @Date 20:21 2019/3/11
     *
     * @Param [itemExt]
     * @return com.shop.common.model.ResultModel<java.lang.String>
     * @errorCode //TODO
     **/
    ServiceBean<String> deleteItemExt(ItemExtInput itemExt);

    /**
     * @Author zhoulk
     * @Description //TODO 查询商品扩展信息
     * @Date 20:22 2019/3/11
     *
     * @Param [itemExt]
     * @return com.shop.common.model.ResultModel<com.shop.common.model.result.item.ItemExtOutput>
     * @errorCode //TODO
     **/
    ServiceBean<ItemExtOutput> selectItemExt(ItemExtInput itemExt);

    /**
     * @Author zhoulk
     * @Description //TODO 更新商品扩展信息
     * @Date 20:22 2019/3/11
     *
     * @Param [itemExtInput]
     * @return com.shop.common.model.ResultModel<java.lang.String>
     * @errorCode //TODO
     **/
    ServiceBean<String> updateItemExt(ItemExtInput itemExtInput);

    /**
     * @Author zhoulk
     * @Description //TODO 获取分类信息
     * @Date 20:22 2019/3/11
     *
     * @Param [category]
     * @return com.shop.common.model.ResultModel<com.shop.common.entity.item.Category>
     * @errorCode //TODO
     **/
    ServiceBean<Category> getCategory(Category category);


    /**
     * @Author zhoulk
     * @Description //TODO 插入浏览足迹信息
     * @Date 20:22 2019/3/11
     *
     * @Param [itemFootInput]
     * @return com.shop.common.model.ResultModel<java.lang.Integer>
     * @errorCode //TODO
     **/
    ServiceBean<Integer> insertItemFoot(ItemFootInput itemFootInput);

    /**
     * @Author zhoulk
     * @Description //TODO 查询浏览足迹
     * @Date 20:23 2019/3/11
     *
     * @Param [itemFootInput]
     * @return com.shop.common.model.ResultModel<java.util.List < com.shop.common.model.result.item.ItemFootOutput>>
     * @errorCode //TODO
     **/
    ServiceBean<List<ItemFootOutput>> selectItemFootList(ItemFootInput itemFootInput);


    /**
     * @Author zhoulk
     * @Description //TODO 分页查询浏览足迹
     * @Date 21:17 2019/3/12
     *
     * @Param [itemFootInput]
     * @return com.shop.common.model.ResultModel<java.util.List < com.shop.common.model.result.item.ItemFootOutput>>
     * @errorCode //TODO
     **/
    ServiceBean<List<ItemFootOutput>> selectItemFootList4P(InputBean<ItemFootInput> inputBean);

    /**
     * @Author zhoulk
     * @Description //TODO 删除浏览足迹
     * @Date 20:40 2019/3/11
     *
     * @Param [itemFootInput]
     * @return com.shop.common.model.ResultModel<java.lang.String>
     * @errorCode //TODO
     **/
    ServiceBean<String> deleteItemFoot(ItemFootInput itemFootInput);

}
